The present invention relates to the field of electronic design automation for integrated circuits, and in particular, to the area of automatic routing of nets or interconnect with variable spacing.
Integrated circuits are important building blocks of the information age and are critical to the information age, affecting every industry including financial, banking, legal, military, high technology, transportation, telephony, oil, medical, drug, food, agriculture, education, and many others. Integrated circuits such as DSPs, amplifiers, DRAMs, SRAMs, EPROMs, EEPROMs, Flash memories, microprocessors, ASICs, and programmable logic are used in many applications such as computers, networking, telecommunications, and consumer electronics.
Consumers continue to demand greater performance in their electronic products. For example, higher speed computers will provide higher speed graphics for multimedia applications or development. Higher speed internet web servers will lead to greater on-line commerce including on-line stock trading, book sales, auctions, and grocery shopping, just to name a few examples. Higher performance integrated circuits will improve the performance of the products in which they are incorporated.
Large modern day integrated circuits have millions of devices including gates and transistors and are very complex. As process technology improves, more and more devices may be fabricated on a single integrated circuit, so integrated circuits will continue to become even more complex with time. To meet the challenges of building more complex and higher performance integrated circuits, software tools are used. These tools are in an area commonly referred to as computer aided design (CAD), computer aided engineering (CAE), or electronic design automation (EDA). There is a constant need to improve these electronic automatic tools in order to address the desire to for higher integration and better performance in integrated circuits.
Within an integrated circuit, there are devices, such as transistors, and interconnect. Interconnect is used to connect signals between the circuitry and also to supply power to the circuitry. Interconnect may include metal lines, polysilicon lines, polysilicide lines, or other conductive materials. Interconnect is also sometimes referred to as nets. There may be more than one layer of interconnect, such as metal-1 and metal-2 layers. There is a need for a technique of automatically routing the interconnect of an integrated circuit. Automatic routing will automatically connect the inputs of particular devices or circuits to the appropriate inputs, typically from other circuits or devices, or from the pins of those devices.
When automatically routing the interconnect, it is desirable to consider the current or power handling of the particular interconnect line. Certain lines will carry larger currents than other lines. It is desirable that the interconnect lines can carry the current or power they will potentially see during operation, otherwise problems such as electromigration, IR voltage drop, or self-heating will reduce the reliability, longevity, or performance of the integrated circuit.
Furthermore, when automatically routing the interconnect, it is desirable to consider the spacing between interconnect lines in order to improve performance. There will be inductance and capacitance effects that will affect performance. It is desirable to vary the spacing of the automatically routed nets so performance of the signals through the nets improves. Also, longevity of the device may be improved by adjusting spacing because electromigration can be reduced.
Therefore, there is a need for an electronic design automation technique of varying spacing when automatically routing interconnect in order to improve performance.